Перейти к основному содержимому

Задачи - Работа с корректировкой

Когда пользователь работает над задачей, он может обнаружить ошибку на предыдущем этапе и запросить её исправление. В интерфейсе предусмотрена кнопка «Отправить на корректировку», которая открывает модальное окно с выпадающим списком предыдущих задач и текстовым полем для описания необходимых исправлений.

Задача, в которую был направлен запрос на исправление, меняет статус на «⌛🛠️ Возвращена на доработку». Пользователь, ответственный за эту задачу, видит текст с описанием требуемых изменений и имеет две кнопки: «Отклонить» и «Взять в работу», при этом кнопка «Отправить на корректировку» остаётся доступной.

При выборе кнопки «Отклонить» открывается модальное окно с обязательным текстовым полем для ввода причины отказа и кнопкой отправки. В этом случае задача, из которой поступил запрос на корректировку, получает статус «🛠️ Корректировка отклонена ⌛». В пользовательском интерфейсе отображаются поля «Что необходимо исправить» и «Ответ», а также кнопка «Продолжить работу», после нажатия которой задача возвращается в статус, существовавший до запроса на корректировку.

Если нажать кнопку «Взять в работу», задача переходит в указанный статус с состоянием «В работе». По завершении работы над задачей появляется возможность добавить ответ на исправление.

После этого следующая задача меняет статус на «🛠️ Проверка корректировки ⌛» и отображает две кнопки — «Корректировка не требуется» и «Взять в работу» — при этом кнопка «Отправить на корректировку» остаётся доступной.

При нажатии «Корректировка не требуется» текущая задача меняет статус на «🛠️ Корректировка не требуется ✔️». Если следующая задача не является исходной, она получает статус «⌛🛠️ Проверка корректировки», а если же это исходная задача — статус «🛠️ Корректировка выполнена ⌛».

Статусы:

Диаграмма смены статусов

Принятие корректировки

15.10.25

  1. Сотрудник при выполнении задачи 4 заметил ошибку, допущенную в задаче 1
  2. Нажимает кнопку Создать корректировку. Открыватся форма для ввода текста, что необходимо исправить и из списка предыдущих задач выбирает ту, которую надо исправить
Что происходит на беке
  • Создаётся 🧾 Запрос корректировки
  • Создаётся 🧾 Исправление для задачи 1 (задачи приёмника) со статусом Ожидает
  • У задачи 1 Статус изменяется на ⌛🛠️ Возвращена на доработку (прошлый статус сохраняется в 🧾 Исправление)
  1. Сотрудник выполняющий задачу 1 читает, что нужно исправить и нажимает кнопку "Взять в работу"
Что происходит на беке
  • Задача меняет статус на первый статус с состоянием "В работе"
  • Исправление меняет статус на "В работе"
  1. Задача вновь проходит по всем необходимым статусам и завершается. При этом при выставлении финального статуса пользователю даётся возможность ввести сообщение, что было сделано (не обязательно). Это сообщение будет показано во всех последующих задачах на корректировку и тому, кто её запросил
Что происходит на беке
  • Задача меняет статус на высталенный финальный
  • Исправление меняет статус на "Выполнено" и сохраняет текст "что сделано"
  • Для следующей задачи создаётся 🧾 Исправление со статусом Ожидает
  • У следующей задачи статус изменяется на ⌛🛠️ Проверка корректировки (прошлый статус задачи сохраняется в 🧾 Исправление)
  1. Сотрудник выполняющий задачу 2 читает, что требовалось исправить и что было исправлено нажимает кнопку "Корректировка не требуется" (были изменены данные, не влияющие на данную задачу)
Что происходит на беке
  • Текущая задача меняет статус на прежний
  • У текущего исправления статус изменияется на "Не требуется"
  • Для следующей задачи создаётся 🧾 Исправление со статусом Ожидает
  • У следующей задачи статус изменяется на ⌛🛠️ Проверка корректировки (прошлый статус задачи сохраняется в 🧾 Исправление)
  1. Сотрудник выполняющий задачу 3 читает, что требовалось исправить и что было исправлено нажимает кнопку "Взять в работу"
Что происходит на беке
  • Задача меняет статус на первый статус с состоянием "В работе"
  • Исправление меняет статус на "В работе"
  1. Задача вновь проходит по всем необходимым статусам и завершается. При этом при выставлении финального статуса пользователю даётся возможность ввести сообщение, что было сделано (не обязательно). Это сообщение будет показано во всех последующих задачах на корректировку и тому, кто её запросил
Что происходит на беке
  • Задача меняет статус на высталенный финальный
  • Исправление меняет статус на "Выполнено" и сохраняет текст "что сделано"
  • Так как следующая задача - источник, то исправления не создаются, а статус у задачи меняется на ⌛🛠️ Корректировка выполнена

Примечание: возможна ситуация, когда текущая задача последняя, но не является источником. В этом случае после Отклонения корректировки она возвращается в статус, в которм была до этого. А в случае принятия корректировки просто проходит её целиком. Так же задача источник может попасть в статус ⌛🛠️ Корректировка выполнена ещё до того, как остальные ветки будут пройдены до конца. Пример: Задача 1 - Создание заказа покупателя, задача 2.1 Назначить конструктора на создание чертежа по товару 1, задача 2.2 Назначить конструктора на создание чертежа по товару 2. Если из задачи 2.1 создать корректировку на задачу 1, то 1) корректировка будет считаться выполненой, когда внесуть исправления в задачу 1. 2) на задачу 2.2 тоже придёт корректировка

  1. Сотрудник выполняющий задачу 4 читает все ответы и нажимает "Продолжить работу" (После он может создать ещё одну корректировку)
Что происходит на беке
  • Задача меняет статус на предыдущий
  • Запрос коректировки меняет Выполнено на true и Дату завершения на текущую (со временем)

Отклонение корректировки

15.10.25

  1. Сотрудник при выполнении задачи 4 заметил ошибку, допущенную в задаче 1
  2. Нажимает кнопку Создать корректировку. Открыватся форма для ввода текста, что необходимо исправить и из списка предыдущих задач выбирает ту, которую надо исправить
Что происходит на беке
  • Создаётся 🧾 Запрос корректировки
  • Создаётся 🧾 Исправление для задачи 1 (задачи приёмника) со статусом Ожидает
  • У задачи 1 Статус изменяется на ⌛🛠️ Возвращена на доработку (прошлый статус сохраняется в 🧾 Исправление)
  1. Сотрудник выполняющий задачу 1 читает, что нужно исправить и нажимает кнопку "«Отклонить»". Показывается модальное окно для ввода обязательного ответа. Пользователь его вводит и нажимает отправить
Что происходит на беке
  1. Сотрудник выполняющий задачу 4 читает все ответ и нажимает "Продолжить работу" (После он может создать ещё одну корректировку)
Что происходит на беке
  • Задача меняет статус на предыдущий
  • Запрос коректировки меняет Выполнено на true и Дату завершения на текущую (со временем)

Дополнительный запрос на корректировку

Так же если пришел запрос на корректировку можно создать ещё одну корректировку:

23.10.25

Примечание: каждая корректировка рассматривается отдельно. Из особенностей - на задаче 3 после корректировки задачи 1 можно сразу закрыть пришедшую корректировку не возвращая её в статус ⌛🛠️ Возвращена на доработку

Статусы

⌛🛠️ Возвращена на доработку

Сотрудник занят другими задачами. Эта задача стоит в очереди на выполнение

Доступные кнопки:

  • Взять в работу
  • Отклонить

👥🛠️ Идёт корректировка

Сотрудник создал запрос на корректировку и ждёт её завершения (или отклонения)

Доступные кнопки:-

⌛🛠️ Проверка корректировки

Сотрудник занят другими задачами. Эта задача стоит в очереди на выполнение

Доступные кнопки:

  • Взять в работу
  • Корректировка не требуется

⌛🛠️ Корректировка выполнена

Корректировка завершена. Сотрудник может прочитать все ответы и завершить текущий запрос на корректировку

Доступные кнопки:

если прошлый статус НЕ ⌛🛠️ Возвращена на доработку

  • Продолжить работу

если прошлый статус ⌛🛠️ Возвращена на доработку:

  • Продолжить работу
  • Взять в работу
  • Корректировка выполнена (автоматически копируется ответ на запрос корректировки на фронте)

⌛🛠️ Корректировка отклонена

Запрос на корректировку отклонён. Сотрудник может прочитать ответ и завершить текущий запрос на корректировку

Доступные кнопки:

если прошлый статус НЕ ⌛🛠️ Возвращена на доработку

  • Продолжить работу

если прошлый статус ⌛🛠️ Возвращена на доработку:

  • Продолжить работу
  • Взять в работу
  • Отклонить (автоматически копируется ответ на запрос корректировки на фронте)

Кнопки

Взять в работу

Если для данной задачи есть только один статус с состоянием В работе, то задача переводиться в него Если есть несколько статусов, то появляется модальное окно с выбором в какой статус перевести (с бека в этом случае возвращаются статусы в с состоянием В работе)

Что происходит на сервере

Задача должна быть с флагом isEditable

Отдельный эндпоинт который принимает id запроса корректировки(в route?) и статуса в который необходимо перевести задачу (статус должен быть с состоянием В работе)

Найти исправление связанное с этой корректировкой и этой задачей

Если исправление завершено - выдать ошибку

Обновить Исправление Значения: дата завершения = текущая; Статус = В работе

Изменить задачу приёмник (текущую): Статус из реквеста Дата последнего изменения - текущая

Добавить 🧾⭐ Дата смены статуса для задачи приёмника

Сохранить одним SaveChangesAsync

Возвращать общую информацию, как эндпоинте смены статуса

Отклонить

Появляется модальное окно с текстовым полем в которое обязателно надо ввести причину отклонения запроса корректировки. Если задача в статусе ⌛🛠️ Корректировка отклонена, то текст прошлого ответа автоматически копируется в это поле

Что происходит на сервере

Задача должна быть с флагом isEditable

Отдельный эндпоинт который принимает обязательный текст Ответ и id запроса корректировки(в route?)

Найти исправление связанное с этой корректировкой и этой задачей

Если исправление завершено - выдать ошибку

  1. Обновить Запрос корректировки Значения: дата завершения = текущая

  2. Обновить Исправление Значения: дата завершения = текущая; Статус = Отклонён

  3. Изменить задачу приёмник (текущую): Статус на предыдущий (из исправления) Дата последнего изменения - текущая

  4. Добавить 🧾⭐ Дата смены статуса для задачи приёмника

  5. Изменить задачу источник: Статус на ⌛🛠️ Корректировка отклонена Дата последнего изменения - текущая

  6. Добавить 🧾⭐ Дата смены статуса для задачи источника

Сохранить одним SaveChangesAsync

Возвращать общую информацию, как эндпоинте смены статуса

Продолжить работу

Поле прочтения ответа на запрос корректировки можно перевести задачу в предыдущий статус на котором остановили работу

Что происходит на сервере

Просто изменения статуса через эндпоинт изменения статуса

Корректировка выполнена

Открывает мождальное окно с необязательным текстом ответа. Задача в статусе ⌛🛠️ Корректировка выполнена, и текст прошлого ответа автоматически копируется в это поле.

Что происходит на сервере

Задача должна быть с флагом isEditable и статусе ⌛🛠️ Корректировка выполнена

Отдельный эндпоинт который принимает необязательный текст Ответ и id запроса корректировки(в route?)

Найти исправление связанное с этой корректировкой и этой задачей

Если исправление завершено - выдать ошибку

  1. Обновить Запрос корректировки Значения: дата завершения = текущая

  2. Обновить Исправление Значения: дата завершения = текущая; Статус = Выполнена

  3. Изменить задачу приёмник (текущую): Статус на предыдущий (из исправления) Дата последнего изменения - текущая

  4. Добавить 🧾⭐ Дата смены статуса для задачи приёмника

  5. Изменить задачу источник: Статус на ⌛🛠️ Корректировка выполнена Дата последнего изменения - текущая

  6. Добавить 🧾⭐ Дата смены статуса для задачи источника

Сохранить одним SaveChangesAsync

Возвращать общую информацию, как эндпоинте смены статуса